attribute-level restoration